package org.example.booksystem.moudel;

import lombok.Data;

@Data
public class Result<T> {
    // 判断是否登录
    // 后端响应状态 , 业务状态码 : 200-成功 , -1失败 , -2未登录
    private Integer code ; //200-成功 , -1失败 , -2未登录
    // 出现错误的原因
    private String errMsg ;
    private T data ; // 不同类型的结果都可以放在这里 ;

    /*
    成功
     */
    public static <T> Result<T> success(T data){
        Result<T> result = new Result<>() ;
        result.setCode(200);
        result.setData(data);
        return result ;
    }

    /*
    失败
     */
    public static <T> Result<T> fail(String errMsg , T data){
        Result<T> result = new Result<>() ;
        result.setCode(-1);
        result.setData(data);
        result.setErrMsg(errMsg);
        return result ;
    }
    //重载
    public static <T> Result<T> fail(String errMsg){
        Result<T> result = new Result<>() ;
        result.setCode(-1);
        result.setErrMsg(errMsg);
        return result ;
    }


    /*
    未登录
     */
    public static <T> Result<T> unLogin(){
        Result<T> result = new Result<>() ;
        result.setCode(-2);
        result.setErrMsg("用户未登录");
        return result ;
    }
}
